Computer viruses, worms, and other types of malicious software programs that attack operating systems and software application executing on computers are an increasing concern for Information Technology (IT) managers. Such malicious software programs are designed to exploit vulnerabilities in operating systems and software applications executing on a computer and can cause downtime for the computer, thus impacting business operations and costing the business money. The business may also incur expenses in repairing the computers and restoring the computers to an operational state, free of the malicious software programs. System administrators are also concerned about software bugs, or flaws, in operating systems and software applications executing on the computers. Software bugs cause software programs to function inconsistently, thus potentially impacting business operations and in turn causing the business to incur extra expenses.
A system administrator may help prevent malicious code from infecting and attacking computer by applying software patches to software applications executing on the computers. A software patch is a software program created by a designer of a software application intended to fix bugs or flaws in the software application. Software patches are also designed to repair and eliminate vulnerabilities in software applications.
Distributing software patches to multiple computers is challenging and time consuming for a system administrator. Specifically, a system administrator may perform a process to install a software patch for a software application on a computer executing a type of operating system. This process, however, may not be effective for installing the software patch on another computer executing another type of operating system, since the other computer may have a different configuration than the first computer. Thus, the system administrator may need to determine and perform a different process to install the software patch on the other computer, taking into account the configuration of the other computer and past experiences in applying software patches on other computers with similar configurations. Software patch management becomes more complex as the number of computers increase, as the number of different types of computer configurations increase, and as the computers become decentralized.